<?php
class class_tareas {
	private $_db; 
	function __construct(){
		$this->config();
	}
	function method_Get($params, $error){
		$tareas = array();
		if($params[0]->tipo == "Asignadas"){
			$this->_db->setQuery("SELECT tareas.*, DATE_FORMAT(fecha_creacion,'%d/%m/%Y') AS fecha_creacion, DATE_FORMAT(fecha_cierre,'%d/%m/%Y') AS fecha_cierre, usuarios.usuario FROM tareas LEFT JOIN usuarios ON tareas.dni_usuario_crea = usuarios.dni_usuario WHERE tareas.dni_usuario_realiza='".$_SESSION['dni_usuario']."' AND tareas.estado != 'R'");
			$this->_db->alter();
			if (mysql_error()) { $error->SetError(JsonRpcError_Unknown, (__FILE__ . " - " . (__LINE__ - 2) . ": " . mysql_error())); return $error; }
			
		}
		else if($params[0]->tipo == "Creadas"){
			$this->_db->setQuery("SELECT tareas.*, DATE_FORMAT(fecha_creacion,'%d/%m/%Y') AS fecha_creacion, DATE_FORMAT(fecha_cierre,'%d/%m/%Y') AS fecha_cierre,  usuarios.usuario FROM tareas LEFT JOIN usuarios ON tareas.dni_usuario_realiza = usuarios.dni_usuario WHERE tareas.dni_usuario_crea='".$_SESSION['dni_usuario']."'");
			$this->_db->alter();
			if (mysql_error()) { $error->SetError(JsonRpcError_Unknown, (__FILE__ . " - " . (__LINE__ - 2) . ": " . mysql_error())); return $error; }
			
		}
		else {
			$this->_db->setQuery("SELECT tareas.*, DATE_FORMAT(fecha_creacion,'%d/%m/%Y') AS fecha_creacion, DATE_FORMAT(fecha_cierre,'%d/%m/%Y') AS fecha_cierre, usuarios.usuario FROM tareas LEFT JOIN usuarios ON tareas.dni_usuario_crea = usuarios.dni_usuario WHERE tareas.dni_usuario_realiza='".$_SESSION['dni_usuario']."' AND tareas.estado ='R'");
			$this->_db->alter();
			if (mysql_error()) { $error->SetError(JsonRpcError_Unknown, (__FILE__ . " - " . (__LINE__ - 2) . ": " . mysql_error())); return $error; }
			
		}
		$tareas = $this->_db->loadResult();
		
		return $tareas;
	}
	function method_getTarea($params, $error){
		$cod_tarea = $params[0];
		$this->_db->setQuery("SELECT cod_tarea, cuerpo, resolucion_parcial, resolucion_final, estado FROM tareas WHERE cod_tarea='".$cod_tarea."'");
		$this->_db->alter();
		if (mysql_error()) { $error->SetError(JsonRpcError_Unknown, (__FILE__ . " - " . (__LINE__ - 2) . ": " . mysql_error())); return $error; }
		$tarea = $this->_db->loadResult();
		$result->cuerpo = $tarea[0]->cuerpo;
		$result->resolucion_parcial = $tarea[0]->resolucion_parcial;
		$result->resolucion_final = $tarea[0]->resolucion_final;
		$result->estado = $tarea[0]->estado;
		$result->fecha_cierre = $tarea[0]->fecha_cierre;
		
		return $result;
	}
	function method_guardarTarea($params, $error){
		$cod_tarea = $params[0];
		$resolucion_parcial = $params[1];
		$resolucion_final = $params[2];
		if($resolucion_final != ""){
			$estado = "R";
		}
		else{
			$estado = "P";
		}
		$this->_db->setQuery("UPDATE tareas SET estado='".$estado."', resolucion_parcial ='".$resolucion_parcial."', resolucion_final='".$resolucion_final."' WHERE cod_tarea='".$cod_tarea."'");
		$this->_db->alter();
		if (mysql_error()) { $error->SetError(JsonRpcErrorhistoria_Unknown, (__FILE__ . " - " . (__LINE__ - 2) . ": " . mysql_error())); return $error; }
	}
	function method_GetUsuarios(){
		$this->_db->setQuery("SELECT dni_usuario AS value, usuario AS label FROM usuarios");
		$this->_db->alter();
		if (mysql_error()) { $error->SetError(JsonRpcErrorhistoria_Unknown, (__FILE__ . " - " . (__LINE__ - 2) . ": " . mysql_error())); return $error; }
		return $result = $this->_db->loadResult();
	}
	function method_CrearTarea($params, $error){
		$this->_db->setQuery("INSERT INTO tareas VALUES (NULL, NOW(), '".$params[0]->fecha_cierre."', '".$params[0]->descripcion."', '".$params[0]->cuerpo."','".$_SESSION['dni_usuario']."','".$params[0]->dni_usuario_realiza."','','','N')");
		$this->_db->alter();
		if (mysql_error()) { $error->SetError(JsonRpcError_Unknown, (__FILE__ . " - " . (__LINE__ - 2) . ": " . mysql_error())); return $error; }
	}
		
	private function config(){
		require_once("conexion.php");
		require_once("DataBase.php");
		$this->_db = new DataBase($SERVIDOR,$USUARIO,$PASSWORD,$BASE);
		mysql_query("SET NAMES utf8");
	}
}
?>